home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / dev / src / mrq_library.lha / lib / examples / asm / _bestmode.s < prev    next >
Text File  |  2000-09-07  |  3KB  |  180 lines

  1. ;APS000005AD000000000000000000000000000000000000000000000000000000000000000000000000
  2.     incdir    includes:
  3.  
  4.     include    lvos.i
  5.     include    lvo/mrq_lib.i
  6.     include    exec/exec.i
  7.     include    graphics/gfx.i
  8.     include    intuition/intuition.i
  9.  
  10.  
  11.     section    code,code_p
  12.  
  13.     move.l    4,a6
  14.     moveq    #$00,d0
  15.     lea    mrqlib,a1
  16.     jsr    _LVOOpenLibrary(a6)
  17.     move.l    d0,mrqbase
  18.     tst.l    d0
  19.     beq.w    _stupid_error
  20.  
  21.     move.l    mrqbase,a6
  22.     jsr    _LVOMisterQInit(a6)    ;inicjalizacja biblioteki, struktur
  23.     move.l    d0,lib_base
  24.     move.l    lib_base,a5
  25.  
  26.     move.l    intbase(a5),a6
  27.     lea    0,a0
  28.     lea    window,a1
  29.     jsr    _LVOOpenWindowTagList(a6)
  30.     tst.l    d0
  31.     beq.w    _no_win
  32.     move.l    d0,winbase
  33.  
  34.     move.l    d0,a0
  35.     move.l    wd_UserPort(a0),userport
  36.     move.l    wd_RastPort(a0),s_RastPort(a5)
  37. _set_t    
  38.     lea    nazwa,a0
  39.     move.l    a6,-(sp)
  40.     move.l    intbase(a5),a6
  41.     jsr    _LVOLockPubScreen(a6)
  42.     add.l    #$2c,d0
  43.     move.l    d0,WB_ViewPort(a5)
  44.     move.l    WB_ViewPort(a5),a0
  45.     move.l    gfxbase(a5),a6
  46.     jsr    _LVOGetVPModeID(a6)    ;co mamy w do?
  47.     move.l    (sp)+,a6
  48.  
  49.     move.l    mrqbase,a6
  50.  
  51.     move.l    d0,-(sp)
  52.     jsr    _LVOHexConvert(a6)
  53.  
  54.     move.w    #$00,_kolor1(a5)
  55.     move.w    #$01,_kolor0(a5)
  56.  
  57.     lea    tryb,a0
  58.     move.l    #$03,d0
  59.     move.l    #30,d1
  60.     jsr    _LVOWyswTXT(a6)
  61.     
  62.     move.w    #$03,_kolor1(a5)
  63.     move.w    #$01,_kolor0(a5)
  64.  
  65.     move.l    tabhex1(a5),a0
  66.  
  67.     move.l    #100,d0
  68.     move.l    #30,d1
  69.     jsr    _LVOWyswTXT(a6)
  70.  
  71.     move.w    #$00,_kolor1(a5)
  72.     move.w    #$01,_kolor0(a5)
  73.  
  74.     lea    bestmode1,a0
  75.     move.l    #$03,d0
  76.     move.l    #45,d1
  77.     jsr    _LVOWyswTXT(a6)
  78.  
  79.     move.l    (sp)+,d0
  80.     and.l    #MONITOR_ID_MASK,d0
  81.     move.l    d0,mon_id+4
  82.  
  83.     move.l    #320,szer1+4
  84.     move.l    #240,wys1+4
  85.     bsr.w    best        ;co mamy w d0?
  86.     
  87.     move.w    #$03,_kolor1(a5)
  88.     move.w    #$01,_kolor0(a5)
  89.  
  90.     move.l    tabhex1(a5),a0
  91.     move.l    #210,d0
  92.     move.l    #45,d1
  93.     jsr    _LVOWyswTXT(a6)
  94.  
  95.     move.w    #$00,_kolor1(a5)
  96.     move.w    #$01,_kolor0(a5)
  97.  
  98.     lea    bestmode2,a0
  99.     move.l    #$03,d0
  100.     move.l    #60,d1
  101.     jsr    _LVOWyswTXT(a6)
  102.  
  103.     move.l    #640,szer1+4
  104.     move.l    #480,wys1+4
  105.     bsr.w    best        ;co mamy w d0?
  106.  
  107.     move.w    #$03,_kolor1(a5)
  108.     move.w    #$01,_kolor0(a5)
  109.  
  110.     move.l    tabhex1(a5),a0
  111.     move.l    #210,d0
  112.     move.l    #60,d1
  113.     jsr    _LVOWyswTXT(a6)
  114.  
  115.  
  116. _czekaj    move.l    userport,a0
  117.     jsr    _LVOGetMessage(a6)
  118.     move.l    d0,a0
  119.     move.l    im_Class(a0),d0
  120.     cmp.l    #IDCMP_CLOSEWINDOW,d0
  121.     beq.w    _exit
  122.     bra.b    _czekaj
  123.  
  124.  
  125. _exit    move.l    winbase,a0
  126.     move.l    intbase(a5),a6
  127.     jsr    _LVOCloseWindow(a6)
  128.     
  129. _no_win    move.l    lib_base,a0
  130.     jsr    _LVOMisterQCleanUp(a6)    ;zwolnienie struktur,tablic, itp
  131.     move.l    4,a6
  132.     move.l    mrqbase,a1
  133.     jsr    _LVOCloseLibrary(a6)
  134. ;-------
  135. _stupid_error
  136.     moveq    #$00,d0
  137. _upss1    rts
  138. ;-------
  139. best    lea    bestmode,a0
  140.     move.l    a6,-(sp)
  141.     move.l    gfxbase(a5),a6
  142.     jsr    _LVOBestModeIDA(A6)
  143.     move.l    (sp)+,a6
  144.     jsr    _LVOHexConvert(a6)
  145.     rts
  146. ;-------
  147. mrqbase        dc.l    $00
  148. lib_base    dc.l    $00
  149. winbase        dc.l    $00
  150. liczba        dc.l    $00
  151. userport    dc.l    $00
  152. ;-------
  153. window    dc.l    WA_Width,300
  154.     dc.l    WA_Height,100
  155.     dc.l    WA_Left,250
  156.     dc.l    WA_Top,200
  157.     dc.l    WA_CloseGadget,1
  158.     dc.l    WA_DragBar,1
  159.     dc.l    WA_DepthGadget,1
  160.     dc.l    WA_IDCMP,IDCMP_CLOSEWINDOW+IDCMP_RAWKEY
  161.     dc.l    WA_Activate,1
  162.     dc.l    $00,$00    
  163. ;-------
  164. bestmode
  165. szer1    dc.l    BIDTAG_NominalWidth,$00
  166. wys1    dc.l    BIDTAG_NominalHeight,$00
  167.     dc.l    BIDTAG_Depth,8
  168. mon_id    dc.l    BIDTAG_MonitorID,$00
  169.     dc.l    $00,$00
  170. ;-------
  171. tryb        dc.b    'tryb wb to: ',$00
  172. bestmode1    dc.b    'bestmode (320x200) daje: ',$00
  173. bestmode2    dc.b    'bestmode (640x480) daje: ',$00
  174. ;-------
  175. mrqlib        dc.b    'mrq.library',0
  176. ;-------
  177. nazwa        dc.b    'Workbench',0
  178. ;-------
  179.  
  180.